from loguru import logger
import sys

# 日志格式
fmt = "{time:YYYY-MM-DD HH:mm:ss.SSS} | <level>{level: <6}</level> | {extra[request_id]} | {name}:{function}:{line} - <level>{message}</level>"


class LoggerConfig:

    def __init__(self):
        self.setup_logging()

    @staticmethod
    def setup_logging():
        logger.remove()  # 移除默认的输出
        logger.add(
            "app.log",
            rotation="1 MB",  # 每当日志文件达到 1 MB 时，自动轮换
            retention="15 days",  # 保留最近 15 天的日志
            level="INFO",
            format=fmt)

        # 输出到控制台
        logger.add(
            sys.stdout,
            level="INFO",
            format=fmt)


